package com.Clause;

public class OperateurUnaire extends Operateur{

	public static final String NOT = "!";

	private OperateurUnaire(String operateur){
		super(operateur);
	}
	
	private OperateurUnaire(String operateur, ClauseElement elementSuivant){
		super(operateur,elementSuivant);
	}
	
	private OperateurUnaire(String operateur, ClauseProxy elementSuivant){
		super(operateur,elementSuivant);
	}
	
	public OperateurUnaire(OperateurUnaire operateur, ClauseProxy suivant){
		super(operateur);
		this.suivant = suivant;
	}
	
	public String toString(){
		return super.toString();
	}
	
	
	
	public static OperateurUnaire newNot(){
		return new OperateurUnaire(OperateurUnaire.NOT);
	}
	public static OperateurUnaire newNot(ClauseElement elementSuivant){
		return new OperateurUnaire(OperateurUnaire.NOT,new ClauseProxy(elementSuivant));
	}
	
	public OperateurUnaire copie(){
		return new OperateurUnaire(new String(operateur),suivant.getElement().copie());
	}

}
